스트림 (컴퓨팅)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
스트림은 컴퓨터 과학에서 다양한 방식으로 사용되는 용어이다. 스트림 편집은 파일을 로드하지 않고 처리하는 방식이며, C 언어 기반 시스템에서 스트림은 데이터의 소스 또는 싱크를 나타내는 추상화이다. 객체 지향 프로그래밍에서는 반복자로, Scheme 언어에서는 지연 평가 시퀀스로 구현된다. 스트림은 채널을 통한 프로세스 간 통신의 기본 데이터 유형으로 사용되며, 파일 시스템의 포크에서도 사용된다.
더 읽어볼만한 페이지
- 컴퓨터 데이터 - 헤더 (컴퓨팅)
헤더는 전자 통신, 네트워킹, 파일 형식, 프로그래밍 등 다양한 분야에서 데이터의 전송 및 처리에 필요한 정보를 제공하는 정보의 집합이다. - 컴퓨터 데이터 - 데이터 손실
데이터 손실은 절차적 요인, 인적 행위, 시스템 실패, 자연 재해, 범죄 등 다양한 원인으로 발생하며, 금전적 손실과 평판 손상 등 심각한 결과를 초래하므로 강력한 암호, 이중 인증, 정기적인 백업 등의 예방 조치가 중요하다. - 프로세스 간 통신 - Ajax
Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다. - 프로세스 간 통신 - D-Bus
D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다.
스트림 (컴퓨팅) |
---|
2. 예시
이 섹션에서는 스트림이 활용되는 다양한 예시를 제시한다.
- '''스트림 편집''': sed, awk, perl과 같은 도구들은 파일을 사용자 인터페이스에 로드하지 않고도 하나 이상의 파일을 처리하는 데 사용된다. 예를 들어, 명령줄에서 특정 디렉터리 내 모든 파일에 대해 찾기 및 바꾸기 작업을 수행할 수 있다.[1]
- '''C 언어 스트림''': C 언어를 기반으로 하는 Unix 및 관련 시스템에서 스트림은 데이터의 소스 또는 싱크 역할을 하며, 주로 개별 바이트 또는 문자로 구성된다. 파일을 읽거나 쓰거나, 네트워크 소켓을 통한 통신에 사용되는 추상적인 개념이다. 모든 프로그램에서 사용할 수 있는 세 가지 표준 스트림이 제공된다.[1]
- '''I/O 장치 스트림''': I/O 장치는 시간이 지남에 따라 잠재적으로 무한한 데이터를 생성하거나 소비할 수 있으므로 스트림으로 간주될 수 있다.
- '''객체 지향 프로그래밍 스트림''': 객체 지향 프로그래밍에서 입력 스트림은 일반적으로 반복자로 구현된다.[1]
- '''Scheme 언어 스트림''': Scheme 언어에서 스트림은 지연 평가되는 데이터 요소의 시퀀스를 의미한다.[1] 리스트와 유사하게 사용되지만, 이후 요소들은 필요할 때만 계산된다. 따라서 무한 시퀀스 및 수열을 표현할 수 있다.[1]
- '''Smalltalk 스트림''': Smalltalk 표준 라이브러리 및 다른 프로그래밍 언어에서 스트림은 외부 반복자를 나타낸다.[1] Scheme과 마찬가지로 유한하거나 무한한 시퀀스를 표현할 수 있다.[1]
2. 1. 스트림 편집
sed, awk, perl과 같은 "스트림 편집"은 파일을 사용자 인터페이스로 로드할 필요 없이 제자리에서 하나 이상의 파일을 처리한다. 이러한 사용의 한 예는 명령줄에서 디렉터리의 모든 파일에 대해 찾아서 바꾸기를 수행하는 것이다.[1]2. 2. C 언어 스트림
C 언어를 기반으로 하는 Unix 및 관련 시스템에서 스트림은 데이터의 소스 또는 싱크이며, 일반적으로 개별 바이트 또는 문자이다. 스트림은 파일을 읽거나 쓰거나 네트워크 소켓을 통해 통신할 때 사용되는 추상화이다. 표준 스트림은 모든 프로그램에 사용할 수 있는 세 개의 스트림이다.[1]2. 3. I/O 장치 스트림
C 언어를 기반으로 하는 Unix 및 관련 시스템에서 스트림은 데이터의 소스 또는 싱크이며, 일반적으로 개별 바이트 또는 문자이다. 스트림은 파일을 읽거나 쓰거나 네트워크 소켓을 통해 통신할 때 사용되는 추상화이다. 표준 스트림은 모든 프로그램에 사용할 수 있는 세 개의 스트림이다.[1] I/O 장치는 시간이 지남에 따라 잠재적으로 무제한의 데이터를 생성하거나 소비하므로 스트림으로 해석될 수 있다.2. 4. 객체 지향 프로그래밍 스트림
객체 지향 프로그래밍에서 입력 스트림은 보통 반복자로 구현된다.[1]2. 5. Scheme 언어 스트림
Scheme 언어에서 스트림은 지연 평가되는 데이터 요소의 시퀀스이다.[1] 스트림은 목록과 유사하게 사용할 수 있지만, 이후 요소는 필요할 때만 계산된다. 따라서 스트림은 무한 시퀀스 및 수열을 나타낼 수 있다.[1]2. 6. Smalltalk 스트림
Smalltalk 표준 라이브러리 및 다른 프로그래밍 언어에서 스트림은 외부 반복자이다.[1] Scheme과 마찬가지로 스트림은 유한 또는 무한 시퀀스를 나타낼 수 있다.[1]2. 7. 스트림 처리
Scheme 언어 및 일부 다른 언어에서 스트림은 지연 평가되는 데이터 요소의 시퀀스이다. 스트림은 목록과 유사하게 사용할 수 있지만, 이후 요소는 필요할 때만 계산된다. 따라서 스트림은 무한 시퀀스 및 수열을 나타낼 수 있다.[1]Smalltalk 표준 라이브러리 및 다른 프로그래밍 언어에서도 스트림은 외부 반복자이다. Scheme과 마찬가지로 스트림은 유한하거나 무한한 시퀀스를 나타낼 수 있다.
스트림 처리는 병렬 컴퓨팅, 특히 그래픽 처리에서 사용되는 용어로, 하드웨어뿐만 아니라 소프트웨어에도 적용된다. 데이터 흐름 프로그래밍 언어에서 스트림의 시작 조건을 충족하는 즉시 처리되는 데이터의 준연속 흐름을 정의한다.
3. 응용
스트림은 채널에서 프로세스 간 통신의 기본 데이터 유형으로 사용될 수 있다.
4. 기타 용도
"스트림"이라는 용어는 파일 시스템 ''포크''에도 적용되는데, 이는 단일 파일 이름과 연결된 여러 데이터 집합을 의미한다. 대부분의 경우 일반 파일 데이터를 구성하는 하나의 주요 스트림이 있으며, 추가 스트림에는 메타데이터가 포함된다. 여기서 "스트림"은 확장 속성과 같은 고정 크기 메타데이터와는 달리 "시간에 따라 사용 가능하며 잠재적으로 무한한 데이터"를 의미하는 것이 아니라, "가변 크기 데이터"를 나타내는 데 사용된다.
참조
[1]
웹사이트
SRFI 41: Streams
http://srfi.schemers[...]
[2]
웹사이트
SRFI 40: A Library of Streams
http://srfi.schemers[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com